package 牛客网编程.剑指offer.用两个栈实现队列;

/**
 * create at 2018/10/20
 * author: suveng
 * email: suveng@163.com
 **/
import java.util.Stack;

public class Solution {
    Stack<Integer> stack1 = new Stack<Integer>();
    Stack<Integer> stack2 = new Stack<Integer>();
    //思路
    //1. 栈1 作为存储栈 栈2作为缓存栈
    // push 时 把栈1 导入栈2 ，再把元素 入栈1 再将栈2导入栈2
    // pop 去栈顶元素
    public void push(int node) {
        // push 时 把栈1 导入栈2 ，再把元素 入栈1 再将栈2导入栈2
        while(!stack1.empty()){
            stack2.push(stack1.pop());
        }
        stack1.push(node);
        while(!stack2.empty()){
            stack1.push(stack2.pop());
        }
    }
    // pop 去栈顶元素
    public int pop() {
        return stack1.pop();
    }
}
